package cn.tedu.blog.server.repo;

import cn.tedu.blog.server.pojo.vo.TagDetailVO;
import cn.tedu.blog.server.pojo.vo.TagListItemVO;

import java.util.List;

public interface ITagRepository {
    /**
     * 分页标签查询密钥
     */
    String KEY_PREFIX_Tag_ITEM = "tag:item:";

    /**
     * 标签存入redis
     * @param tagDetailVO
     */
    void put(TagDetailVO tagDetailVO);

    /**
     * 根据id从redis中读取
     * @param id
     * @return
     */
    TagDetailVO get(Long id);

    /**
     * 标签列表存入redis
     * @param list
     * @param key
     */
    void putList(List<TagListItemVO> list, String key);

    /**
     * 从redis中获取标签列表
     * @param key
     * @return
     */
    List<TagListItemVO> getList(String key);


    /**
     * 判断密钥是否过期
     * @param key
     * @return
     */
    boolean  isExpired(String key);
}
